package com.project.utils;

import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
import java.util.UUID;

/**
 * 文件上传的工具类
 */
public class FileUploadUtil {
    private static Properties props = new Properties();
    static{
        InputStream in = FileUploadUtil.class.getClassLoader().getResourceAsStream("upload.properties");
        try {
            props.load(in);
            //判断savepath对应路径是否存在
            String savepath = props.getProperty("savepath");
            File file = new File(savepath);
            if(!file.exists()){ //不存在
                file.mkdirs();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    /**
     * 获取上传的保存文件路径
     * @return
     */
    public static String getSavePath(){
        return props.getProperty("savepath");
    }

    /**
     * 得到filename文件名的后缀名
     * @param filename  文件名
     *                 aasdsad.jpg asaa.gif
     * @return
     */
    public static String getFileSuffix(String filename){
        if(filename == null || filename.isEmpty()){
            throw new RuntimeException("文件名不能为空,filename:"+filename);
        }
        return filename.substring(filename.lastIndexOf("."));
    }

    /**
     * 使用UUID生成一个唯一的字符串
     * @return
     */
    public static String randomFilename(){
        return UUID.randomUUID().toString().replaceAll("-","");
    }

    /**
     * 基于时间戳生成文件名
     * @return
     */
    public static String randomFilename2(){
        return System.currentTimeMillis()+"";
    }
    /**
     * 基于时间戳 + UUID生成文件名
     * @return
     */
    public static String randomFilename3(){
        return System.currentTimeMillis()+randomFilename();
    }

}
